home *** CD-ROM | disk | FTP | other *** search
Text File | 2001-01-31 | 105.8 KB | 2,412 lines | [TEXT/R*ch] |
- Release notes for REALbasic 3.0
- 12 February, 2001
-
- REALbasic 3 contains the following new features:
- (All) ApplicationSupportFolder: this new global method gives you a
- FolderItem that refers to the Application Support Folder, or
- nil if that is not available.
-
- (All) Arrays: properties can now be declared empty -- e.g., foo(-1)
- as Integer -- just like local arrays.
-
- (All) Edit field: CharPosAtLineNum method added. This lets you find
- the (1-based) character position of the first character on the
- given (0-based) line number in a multi-line edit field. The
- method interface is CharPosAtLineNum(lineNumber as Integer) as
- Integer.
-
- (All) Edit field: LineNumAtCharPos method added. This lets you find
- the (0-based) line number on which any 1-base character
- position can be found in a multi-line edit field. The method
- interface is: LineNumAtCharPos(charPosition as Integer) as
- Integer. In combination with the ScrollPosition property added
- in a6, this lets you scroll the edit field to a particular
- place in the text.
-
- (All) Edit field: ScrollPosition property added. This is the 0-based
- index of the topmost visible line. It is both readable and
- writable (may be used to scroll the Edit field).
-
- (All) Handle: the new Handle property deprecates the existing
- MacControlHandle property. Any visible win32 control should
- have a handle. This new property provides identical
- functionality as that of MacControlHandle, but the name change
- reflects that it is now implemented in a cross-platform way.
-
- (All) Language: arrays can now be declared of size -1 (i.e., empty).
-
- (All) Language: global constants can now be used as dimensions in
- array declarations.
-
- (All) List box: ScrollBarHorizontal property added to listboxes. Now
- horizontal scrolling in a listbox is as easy as setting this
- value to true. This property is settable in code as well so you
- can leave it off until its needed. The pagestep value is set
- the same as the Mac OS Finder's list view (i.e. 18 pixels of
- overlap)
-
- (All) List box: ScrollBarVertical property added to listboxes. Now
- Vertical scrollbars are optional. You can set this value in
- code. This can be useful if you want the scrollbar to appear
- only after you have sufficient number of rows to make it
- useful. Your Win32 users may expect this.
-
- (All) List box: ScrollPosition property added. This is the 0-based
- index of the topmost visible row. It is both readable and
- writable (may be used to scroll the list box).
-
- (All) List box: ScrollPositionX integer property added to list boxes.
- You can scroll a list box horizontally by adding a Scroll bar
- control which modifies this property. This property can be set
- in the IDE and as such will scroll IDE columns accordingly.
- NOTE: it is perfectly acceptable to use a negative value here.
-
- (All) Pop-up menu: ListIndex is a property that can now be set at
- design time.
-
- (All) PrinterSetup: resolutions higher than 72 dpi supported. New
- "MaxVerticalResolution" and "MaxHorizontalResolution"
- properties added. These default to 72; you can change them to
- the maximum printer resolution you're prepared to handle, or -1
- for "highest possible resolution". After calling
- PageSetupDialog, OpenPrinter, or OpenPrinterDialog, the
- "VerticalResolution" and "HorizontalResolution" properties will
- be automatically set to the highest resolution supported by the
- printer driver, within your specified constraints. Printing
- will then occur at that resolution. Will not affect existing
- code.
-
- (All) REAL Database: ALTER TABLE command now supported. Syntax: ALTER
- TABLE <table name> ADD <field name> <field type> [NOT NULL]
-
- (All) REAL Database: columns can now be added to a database after a
- table is created
-
- (All) Runtime function: this new function provides information about
- the current state of the runtime environment, for aid in
- debugging. The current functions are: Runtime.ObjectCount as
- Integer: returns the current number of objects in existence;
- Runtime.ObjectClass(Index as Integer) as String: returns the
- class of the indicated object, where Index is a number >= 0
- and < ObjectCount; Runtime.ObjectRefs(idx as Integer) as
- Integer: returns how many references there are to the
- indicated object; Runtime.ObjectID(idx as Integer) as Integer:
- returns a unique identifier for the indicated object; no other
- object in existence at the same time will have the same ID.;
- Runtime.MemoryUsed as Integer: returns the total amount of
- memory being used by allocated objects.
-
- (All) Serial Number: REALbasic is now using a new serialization
- scheme, it's no longer necessary to have previous version of
- REALbasic installed to upgrade (you must know your previous
- serial numner, however).
-
- (All) Sprite surface: attach method allows you to attach custom
- Sprite subclass objects.
-
- (All) Sprite surface: bit-depths of 8, 16, or 32-bit color now
- available, rather than 8-bit only.
-
- (All) Sprite surface: note -- now an internal plug-in, which is
- included in compiled applications only when used.
-
- (All) Sprite surface: resizable on the fly (use
- Left/Top/Width/Height).
-
- (All) Sprite surface: Stop and Update methods allow for more control
- over running of the Sprite surface.
-
- (All) Sprite surface: window mode -- now runs within a window. New
- Window properties allow for full-screen mode.
-
- (All) String function: Replace -- faster by about 22% in some cases.
-
- (All) String function: ReplaceAll -- faster by about 50% in some
- cases.
-
- (All) Window class: FullScreen property added. When this is set to
- true, the window resizes itself to cover the entire screen (in
- the case of multiple monitors, it fits the one which contains
- the greatest portion of the window). The Left, Top, Width, and
- Height properties are changed to reflect the new window
- position, and cannot be changed while FullScreen is true. Note
- that in full-screen mode, a window may be partially covered by
- the menu bar (under Mac OS). This property defaults to False.
-
- (All) Window class: MenuBarVisible property added. When this is set
- to false, the menu bar will be hidden whenever this window is
- the front most (non-floating) window. The menu bar will be
- shown again when another window (with MenuBarVisible=true)
- becomes front most, or when the application is put into the
- background. This property defaults to True, and works nicely
- with FullScreen.
-
- (Car) Constants: TargetCarbon built-in constant is now available.
-
- (Car) Help Tags: this new property has been added to the Control
- class. It is used for Carbon and Mac OS X help tags, as well as
- Win32 tool tips.
-
- (IDE) About Box: Layout and Graphics completely redone.
-
- (IDE) AppleScript: Scriptable IDE -- build command added; builds are
- now scriptable and recordable. See Developers Guide for
- details.
-
- (IDE) AppleScript: Scriptable IDE -- Build dialog now scriptable and
- recordable, with the following: Boolean flag "modified";
- Boolean flag "buildMac68k"; Boolean flag "buildMacPPC"; Boolean
- flag "buildMacCarbon"; Boolean flag "buildWin32"; String
- property "buildMacName"; String property "buildWinName"
- Descriptions are available in the AppleScript dictionary
- (viewable with your favorite script editor)."
-
- (IDE) AppleScript: Scriptable IDE -- the Open, Save, and Quit
- commands are now scriptable and recordable.
-
- (IDE) AutoSave: If REALbasic exits abnormally a user will be prompted
- to restore their project when next using REALbasic. Saves
- happen directly before Running and Building.
-
- (IDE) Build dialog: Target Types -- now allows building of any target
- type (68k, PPC, Carbon, Win32).
-
- (IDE) Code Editor: autocomplete pop-up now wraps around: pressing the
- up arrow key when the top item is selected jumps to the bottom,
- and vice-versa. (Works in the online help too.)
-
- (IDE) Code Editor: Autocompletion -- various enhancements have been
- made to the type-ahead autocompletion function: now includes
- global methods, variables, and constants; now considers
- user-written subroutine names only at the start of a line, and
- function names only after the start of a line; plug-in classes
- now provide autocompletion to local variables, just like
- locals which refer to built-in types; now includes menu items;
- includes True" and "False" keywords; now recognizes the data
- type of global properties and methods, and correctly accounts
- for methods which can be both read and written (like
- Listbox.ScrollPosition); private methods and properties are now
- considered only when accessible (e.g., within the defining
- class or some subclass); Application method now resolves to
- your custom application class, if any.
-
- (IDE) Code editor: Autocompletion multiple choice -- pressing the Tab
- key while there is more than one autocompletion possibility (as
- indicated by "..." after the cursor) now pops up a list of
- choices. Use the up and down arrow keys to highlight a choice.
- Select a choice with Return, Enter, Right Arrow, Tab, or by
- clicking. Cancel with the Esc, Left Arrow, Delete, or Clear
- key. Known issue: if there are more options than can fit on the
- screen, only the first screen full is displayed.
-
- (IDE) Code editor: Autocompletion now smarter in several ways; it
- knows more words and makes better use of context clues, and
- also does partial autocompletion when full autocompletion is
- not possible. For example, try x = bit" (going for "BitwiseAnd"
- or "BitwiseOr"). Words considered for autocompletion include
- local variables, class properties and methods, built-in
- functions and classes, user-defined classes, plug-in classes
- and methods, and other built-in keywords and constants. Context
- clues are used, for example, to suggest subroutine names only
- at the beginning of a line, and function names only after the
- beginning of a line. The only major category of valid words not
- yet considered are user-defined global methods and properties.
- If you find any other oversights, please let us know!
-
- (IDE) Code Editor: Autocompletion now understands array methods
- (Append, Remove, etc.) for local arrays and array properties.
-
- (IDE) Code Editor: Command-clicking a word in the source editor now
- inserts that word at the insertion point cursor (flashing
- vertical line).
-
- (IDE) Code Editor: Copied text and text clippings of multi-line
- selections now include indentation.
-
- (IDE) Code editor: Copy-Click/one-click insert of browser item name
- -- you can now option-click on an item in the browser on the
- left, to insert that item into the source code. E.g., to insert
- the name of a property or method without typing it, just
- option-click that property or method in the list. (This extends
- the existing function of option-clicking words and expressions
- in the source code.)
-
- (IDE) Code Editor: Double-click selection now works for
- floating-point, hex, binary, and octal numbers.
-
- (IDE) Code Editor: Double-clicking a parenthesis now selects the
- entire parenthesized text (both parentheses and everything
- between them).
-
- (IDE) Code Editor: Double-clicking on a quotation mark now selects
- the entire quoted string (both quotation marks and everything
- between them).
-
- (IDE) Code Editor: Horizontal scroll bar in code editor now adjusts
- to actual range of text.
-
- (IDE) Code editor: Menu Item "Copy and Append" allows you to copy
- text and append it to previously existing text in the
- clipboard. This is very useful if you want to copy several
- pieces of code to one central location. The item appears in the
- edit menu if you hold down the option key. Option-Command-C is
- the shortcut.
-
- (IDE) Code editor: Menu Item "Cut and Append" allows you to cut text
- and append it to previously existing text in the clipboard.
- This is very useful if you want to move several pieces of code
- to one central location. The item appears in the edit menu if
- you hold down the option key. Option-Command-X is the shortcut.
-
- (IDE) Code Editor: navigation buttons now update the selection in the
- list box on the left, as well as the source code area on the
- right when you use the "Forward" and "Back" navigation buttons.
-
- (IDE) Code Editor: new navigation buttons which perform the following
- functions: bring Window editor to the front (the opposite of
- double-clicking a control -- note: option-Tab is a keyboard
- shortcut for this); show/hide empty methods and handlers; go to
- previous method (i.e., the one previously accessed); go to next
- method (the one more recently accessed) The latter two are like
- the back/forward buttons in a web browser. Please note that
- this feature is just a prototype and may not appear in
- REALbasic 3.0.
-
- (IDE) Code Editor: pasting of indented code into the Code Editor now
- ignores leading white space so auto indentation is correct.
-
- (IDE) Code Editor: Property, Method, and New Event dialogs now
- support autocompletion (though they do not support the pop-up
- list of choices).
-
- (IDE) Code Editor: Show Empty Methods button no longer collapses
- controls in the code editor list box.
-
- (IDE) Code Editor: Syntax coloring has been extended to differentiate
- literal numbers and literal strings from other code.
-
- (IDE) Code Editor: triple-clicking now selects an entire line.
-
- (IDE) Code Protection: substantially changed and improved. You can
- now encrypt (protect) or decrypt (unprotect) a module while
- it's in your project, using a command in the Edit menu or in
- the contextual menu within the project window. When encrypting
- a module, you now supply a password which can be used to
- decrypt it later. At the same time, you may check an "allow
- conversion to 2.1 format" checkbox -- this is significant
- because the 2.1 file format uses much weaker encryption, but is
- necessary if your code is to be used with REALbasic 2.1. NOTE:
- only modules exported in the "standard" (version 3) format can
- contain a password; 2.1 export files lose the password and
- cannot be decrypted. NOTE: Don't forget your password.
-
- (IDE) Constants: value is now shown in browser along with name and
- icon.
-
- (IDE) Debugger: ArrayViewer -- All of the benefits of the new Object
- viewer are now part of the ArrayViewer as well.
-
- (IDE) Debugger: Double local variables can now be changed in the
- debugger just like other basic types.
-
- (IDE) Debugger: Object viewer -- much more powerful: it's modeless -
- you can keep the Object viewer open while running and stepping
- through your code.; It's resizable - so you can see the entire
- length of a folderitem, or other long items.; It displays its
- name and type - makes it much easier to identify which Object
- viewer to pay attention to.; Only one is created per object -
- see object's relationships with each other.; Object viewer
- remembers its position - it opens in its last position on your
- screen.; Object viewer shares its Object's persistence - Object
- viewer windows disappear when the object they are referring to
- is garbage collected - Use this to check for memory leaks (If
- the Object viewer for that object is still open you may have a
- leak.)
-
- (IDE) Debugger: Stepping skips lines with comments or spaces only
- unless a breakpoint is set on such a line.
-
- (IDE) Default Stationery: upon launch or use of the "New" command,
- REALbasic looks for a stationery file called "Default New
- Project" in the Stationery folder. If found, this is loaded (as
- Untitled) instead of the built-in default project.
-
- (IDE) Exported Code: may be saved in either 2.1 or standard (version
- 3) format. If you just drag a module to the Finder, it's saved
- in standard format, but by using the Export menu command, you
- can choose either standard or Version 2.1 format.
-
- (IDE) File Types: pop-up list of suggested file types now includes
- three special types; the first applies to all platforms, while
- the latter two apply only to Mac OS. The new types are:
- "special/any", creator '????', type '????'; "special/folder",
- creator 'MACS', type 'fold'; "special/disk", creator 'MACS',
- type 'disk'
-
- (IDE) Floating point values' display in the IDE will now changes
- intelligently when the window size is changed. To see more
- precision just resize the Properties Window, Object viewer, or
- ArrayViewer.
-
- (IDE) Keyboard Shortcut: Debugger -- adding/clearing a breakpoint now
- has a keyboard shortcut, Cmd-B.
-
- (IDE) Keyboard Shortcut: Online Reference -- now accessible with the
- Help key (equivalent to command-1).
-
- (IDE) List box: font, font size, and font style now displays in the
- Window editor.
-
- (IDE) List box: HeadingIndex can now be set from the properties
- window and it will a visible effect on the list box when set.
-
- (IDE) List box: headings can now be replaced by one call. Use an
- index of -1 and set them to a tab delimited string. E.g.
- listBox1.heading(-1) = Fred" + chr(9) + "Tom" + chr(9) +
- "Harold"."
-
- (IDE) List box: Initial Value text now displays in the IDE.
-
- (IDE) List box: is now more interactive in the design environment.
- The following properties now have a visible effect on the list
- box in the design environment: hasHeading, scrollPositionX,
- HeadingIndex, Initial Value (only for list boxes with
- Headings). These next properties improved in their
- interactivity: enabled, columnCount, columnWidth.
-
- (IDE) List box: ScrollPosition is now settable from the IDE. Use this
- to test how the property behaves.
-
- (IDE) Menu: Save is only enabled when the project has changed. You
- can use this to help you verify that the project is in fact
- saved in its current state.
-
- (IDE) Menus: Keyboard shortcut for Save As... menu item added
- (shift-command-S)
-
- (IDE) Movie Player: Appearance in the design environment and in
- running applications now more similar. Controllers and badges
- display when specified, and the control looks visually distinct
- from Canvases even when no controller is visible (it's now a
- deep blue rectangle with a movie icon in the center).
-
- (IDE) ObjectViewer/ArrayViewer: now appear in the window menu (as
- appropriate)
-
- (IDE) Online Reference: default mode can be changed from "Search" to
- "Go" via a new Preferences option.
-
- (IDE) Online Reference: go to -- type the name of the class, method,
- or keyword you're looking into the topic field and press Return
- or click Go to quickly find an entry.
-
- (IDE) Online Reference: navigation buttons added to give you the
- ability to step forward and back through recently accessed
- items, or return to the introduction.
-
- (IDE) Online reference: position and state are now remembered between
- REALbasic sessions.
-
- (IDE) Online Reference: search -- type a word that isn't in the topic
- list (or add a space at the end of the word) or holding the
- Option key to make the "Search" button appear. Then press
- return or click Search. Search results are shown in the list on
- the left. Searches are done with whole-word, case-insensitive
- matching. Currently only the first word in the search field is
- used; any subsequent words are ignored. Click the Theme or
- Alpha buttons to return to the full topic list.
-
- (IDE) Online Reference: Searching with the theme bevel button
- depressed now expands the theme and selects the relevant item
- instead of selecting the theme.
-
- (IDE) Project items: Finding External Files -- Now REALbasic searches
- smarter when looking for external files. it now always looks in
- the folder that contains the project (if available). It also
- looks in the folders of any previously found items, including
- from other projects in the same REALbasic session. This last
- bit was designed for those of you that like to store common
- pictures, sounds etc. between projects (such as icons you use
- in every project). If you ever move a common resource folder
- just open all the affected projects and save them. You will
- only need to specify the common items once.
-
- (IDE) Project Window: contextual menu support added --
- control-clicking project items now pops up a contextual menu of
- things you can do to those items. The options vary depending on
- the type of the item, but may include: Edit - open the item for
- editing within REALbasic.; Delete - remove the item from the
- project.; View - view the item within REALbasic.; Play - play
- the sound.; Open File - for items stored externally, open the
- file as if double-clicked in the Finder.; Reveal in Finder -
- open the file's folder in the Finder and highlight the file.;
- File Path - a hierarchical menu allowing you to open any folder
- enclosing the file.; Relocate - choose a new external file to
- associate with the item.
-
- (IDE) Project Window: Drag and drop folders from the project window
- to the finder, and vice versa.
-
- (IDE) Project Window: external editing -- double-clicking items which
- can't be edited within REALbasic (e.g., pictures and scripts)
- now opens them externally, as if you'd double-clicked them in
- the finder.
-
- (IDE) Project Window: keyboard shortcut -- when an item is selected,
- you can press the Tab key to jump to the Name field in the
- Properties window to change the item's name (even if the
- Properties window was previously hidden).
-
- (IDE) Project Window: now displays a little padlock badge on
- protected modules. (This is one part of a larger change to the
- interface for protected items.)
-
- (IDE) Properties Window: Negative numbers now appear in red.
-
- (IDE) Registration Dialogs: Redone for version 3.
-
- (IDE) Registration: If REALbasic is already in use on the network,
- you are now given the option to re-register your copy.
-
- (IDE) Registration: REALbasic now ignores return characters that
- proceeding or following anything in the registration dialog,
- and removes them for the serial number field and the previous
- serial number field. This is useful if you accidently copy the
- return char when registering REALbasic.
-
- (IDE) Registration: REALbasic now uppercases all text that is entered
- into the Serial number field and the previous serial number
- field and doesn't allow you to type spaces.
-
- (IDE) Scroll Bar: Appearance in the design environment and in running
- applications now more similar. The following properties of
- scroll bars are now interactive in the design environment:
- Value, PageStep, Minimum and Maximum.
-
- (IDE) Slider: Appearance in the design environment and in running
- applications now more similar. The following properties of
- sliders are now interactive in the design environment: Value,
- Minimum and Maximum.
-
- (IDE) Stationery: create stationery pads when saving a file. Do this
- by using the Stationery Option" command in the Navigation
- Services pop-up menu, or if you don't have Navigation Services,
- click the "Stationery" checkbox in the Save As dialog.
-
- (IDE) Tool bar: balloon help now provided for plugin controls.
-
- (IDE) Tool bar: separators visually divide the controls into several
- groups: decorations at the top, input/output controls in the
- middle, invisible controls third, and plugin controls at the
- bottom.
-
- (IDE) Tool bar: tool bar has new look and feel. Functionality should
- be mostly the same, but you'll note that some controls are
- available in two versions (e.g., a vertical and horizontal
- scrollbar).
-
- (IDE) Toolbar: may be switched between vertical and horizontal by
- option-clicking the close box.
-
- (IDE) Toolbar: mouse-over and mouse-down colors are now taken from
- the Appearance Manager settings (the "Variation" color);
- requires Appearance Manager 1.1 or later.
-
- (IDE) Viewers: Array viewers now have a Pop-up for viewing specific
- object properties either side by side or as the whole element.
-
- (IDE) Window Editor: Edit field background and foreground colors now
- display properly in the IDE.
-
- (IDE) Window Editor: Edit field with the password property set
- displays bullets instead of the text in the IDE.
-
- (IDE) XML Export/Import: lengthy XML conversions show watch cursor.
-
- (IDE) XML Export: projects can now be exported to the new XML format
- by using the "Save As" command, then choosing "XML" from the
- Format pop-up menu. When you choose XML format, you are really
- doing an export, not a save; the project stays associated with
- its original file location. Finally, note that you may need to
- increase the memory allotted to REALbasic when using XML
- export.
-
- (IDE) XML Export: strings containing ASCII values less than 32 are
- now represented with a special "<Hex>" tag, enclosing the
- hexadecimal encoding of the entire string.
-
- (IDE) XML Import: projects can now be imported from XML via the
- normal "Open" file dialog. All text files will now show up in
- the Open dialog, but only those which contain proper XML data
- can actually be read. If the read is successful, a new project
- called "SomeXMLFile (Converted)" will be created, where
- "SomeXMLFile" was the name of the XML file. Finally, note that
- you may need to increase the memory alloted to REALbasic when
- using XML import. The AppleScript syntax is the same as for
- opening any other file ('tell application "REALbasic" to open
- someFile').
-
- (Mac) AutoDeactivate: this new Boolean control property, true by
- default, allows you to control whether a control should be
- deactivated (on Mac OS) when the window is deactivated.
-
- (Mac) Balloon Help: when one help message (enabled or disabled) is
- not available, the other is shown instead. This makes common
- work arounds (putting the same text in both help messages, or
- putting something in the enabled help even for controls which
- are always disabled) unnecessary (though they will still work).
-
- (Mac) Edit field: Multi-Line edit fields have improved performance
- when setting the text property.
-
- (Mac) Folder Properties: when a FolderItem now refers to an actual
- folder (rather than a file), the "MacType" property now returns
- "fold" and the "MacCreator" value is "MACS" (instead of empty
- strings). In addition, the "Type" property will now return a
- matching file type, if you have one defined.
-
- (OSX) Plug-in support: REALRegisterEventFilter now works for Carbon.
- Note that this has not yet been thoroughly tested; please try
- it and let us know if it works for you (3b2).
-
- (OSX) Project window: close button displays a dot when the project
- has changed. Note: this feature is not present in the Public
- Beta of Mac OS X (nor in previous versions of the Mac OS).
-
- (OSX) QuitMenuItem: when running under Mac OS X, a menu item of class
- QuitMenuItem will be mapped to the special quit command in the
- application menu. You can still set, get, and change the text
- of this item, but other changes (such as the command key
- shortcut) have no effect. Under Classic Mac OS or or Win32,
- your QuitMenuItem stays put and behaves as it always has.
-
- (OSX) Shell class: used to execute UNIX shell commands and get the
- results. It has a single method called "Execute" which executes
- a one-line UNIX command. This causes two properties on the
- Shell object to change: ErrorCode, which is a system-supplied
- error code or 0 for no error; and Result, which is a string
- containing the output of the command.
-
- (Win) Accelerator Keys: PushButtons, BevelButtons, Checkboxes,
- RadioButtons, and Tab Panels now support accelerator keys.
- Accelerator keys (or short cut keys) are underlined under
- Windows. To register a key as an accelerator key, preceed the
- key with an ampersand, i.e. the caption "Go &Home" for a
- PushButton registers the 'H' key as an accelerator key.
- Pressing ALT+H on Windows will trigger the Action event of the
- PushButton.
-
- (Win) Screen and ScreenCount: Now support multiple monitor Win32
- systems. Multiple monitors is only available on systems that
- are Win98/Win2k or newer.
-
- (Win) Shell class: execute DOS shell commands and get the results. It
- has a single method called "Execute" which executes a one-line
- DOS command. This causes two properties on the Shell object to
- change: ErrorCode, which is a system-supplied error code or 0
- for no error; and Result, which is a string containing the
- output of the command. A "TimeOut" property was added, which is
- an integer data type that specifies how long (in milliseconds)
- a process can run before it is automatically terminated. A
- value of -1 means the process can run indefinitely. This
- property, currently, only applies to Windows (not needed on Mac
- OS X). The default value for "TimeOut" is 2000, or 2 seconds.
-
- (Win) Sliders: now appear as sliders in Win32 and not as scroll bars.
-
- (Win) Tool tips: Windows controls now support tool tips. Assign some
- text to the HelpTag property of a control, and leave your mouse
- pointer over a control to display it.
-
-
- This release contains the following improvements to previously existing
- features:
- (All) List box: Reduced flicker for list boxes when using horizontal
- scrolling.
-
- (IDE) Code Editor: flicker seen when adding code to a new method
- while in "Hide Empty Items" mode has been reduced.
-
- (IDE) Errors: REALbasic now reports a better error message when
- builds fail as a result of passing floating point values by
- ref.
-
- (IDE) Properties window: improved look under Mac OS X (Aqua).
-
- (Mac) Listbox: improved look under Mac OS X (Aqua).
-
- (Mac) Plug-in support: REALRegisterEventFilter now allows you to
- receive event types which do not go through our usual queue,
- such as updateEvt, osEvt, and others which we may ignore. Two
- caveats: first, these may appear out of order relative to
- events which go through our queue; second, some events (like
- mouseUp) appear only under certain circumstances (since they
- may be filtered directly by the Event Manager).
-
-
- This release contains the following optimizations for improved
- performance:
- (All) InStr: now about 30% faster.
-
- (All) InStrB: now about 25% faster for small searches; large searches
- scale substantially better since a different algorithm is used.
-
- (All) NthField: now about 50% faster.
-
- (All) Object destruction: linked objects destruction algorithm
- substantially improved; it is now both safer and faster.
- Previously, releasing the head of a long chain of objects could
- result in a crash (stack overflow). This is no longer possible;
- any chain of objects which fit into memory in the first place
- can be safely deallocated.
-
- (IDE) Code Editor: typing in very long methods now considerably more
- responsive (only recalculates the vertical scrollbar when the
- number of source code lines has actually changed).
-
- (IDE) Properties Window: fills values in more quickly (most apparent
- on slower machines).
-
- (Mac) CPU Usage: REALbasic and REALbasic-built applications no longer
- appear to consume most of the CPU cycles even when idle; they
- now "sleep" up to 1/3 second in between events. This applies
- even when there are active timers, but does NOT apply when
- there are active threads (threads use CPU cycles as always).
-
-
- Here are some tips for getting the most out of this new release:
- (All) Listbox: If you want miniature scrollbars or scrollbars that
- leave room for status bars or buttons just set
- ScrollBarVertical to false and ScrollBarHorizontal to false and
- add your own scrollbars and tie their value properties to
- ScrollPosition and ScrollPositionX respectively.
-
- (Car) Control.BalloonHelp: if you provide both a HelpTag and a
- BalloonHelp (or DisabledBalloonHelp) value for a control, users
- under Carbon or OS X will be able to switch from the short help
- tag to the longer balloon help by pressing the command key.
-
- (IDE) Project items: Finding External Files -- In the very rare event
- that REALbasic guesses the incorrect external file for your
- sound, picture etc. just control click on the item and choose
- Relocate. You will then be able to correct REALbasic's
- incorrect assumption.
-
- (IDE) Workflow: quickly create, name, and edit a new class by using
- the New Class command, hit Tab, type the class name, press
- return to accept, and press return again to open the code
- editor. Works for modules and interfaces too.
-
-
- Here are some notes to keep in mind while using this release:
- (All) Sprite surface: may need more RAM now due to higher bit depth.
- Rough estimate of the RAM needed for the surface, not counting
- sprites, is: (depth/8) * width * height + (depth/8) *
- (width+128) * (height+128)
-
- (IDE) Sprite surface: new features not available in older versions.
- Using the new Sprite surface features will result in compiler
- errors if you attempt to compile the project with an earlier
- version of the IDE.
-
-
- This release contains the following changes to behavior:
- (All) Drag and Drop: dropping now supported by most controls.
-
- (All) Edit Field: cursor and scroll position now moved to the top of
- the edit field rather than the bottom when a value is assigned
- to EditField.text.
-
- (All) Language: obsolete keywords "of", "var", and "#bad" removed."
-
- (All) List box: Adding a row in a listbox now commits any edits
- before the add. This was done to be consistent with the
- InsertRow and RemoveRow bug fixes.
-
- (All) List box: Column widths are now always what the user specifies
- (i.e. the last column doesn't grow to size of the rest of the
- list box. Absent of any column specifications the headers will
- be divided evenly. If there are less column widths specified
- than the total number of columns the remaining columns will be
- sized the same as the last specified column. Header End caps
- are now added for any additional unused space if headers are
- used. Header end caps will do nothing when clicked.
-
- (All) Pop-up Menu: ListIndex is now 0 by default.
-
- (All) Sprite surface: "ClickToClose" changed to "ClickToStop". The
- old "ClickToClose" property is still available for use in code,
- but it's deprecated (so use ClickToStop instead).
-
- (All) Timers: periods of less than or equal to 0 now default to a
- period of 1 millisecond.
-
- (IDE) Auto Restore: Now remembers the name of your old project. The
- name of the project after a restore will be "MyProject
- (Restore)" if your project was named "MyProject"."
-
- (IDE) Auto Restore: The backup file is now stored in the new file
- format. This allows REALbasic to more fully restore your
- settings to a pre-crash state.
-
- (IDE) Autocomplete pop-up: choices now appear in alphabetical order.
-
- (IDE) Balloon Help: About REALbasic... menu item is now available.
-
- (IDE) Build dialog and Editor Settings dialog have been adjusted
- slightly to look better under both Aqua and Platinum.
-
- (IDE) Build Dialog: Compress checkbox no longer enabled for Carbon
- builds.
-
- (IDE) Build Dialog: Now is much more interactive. Options are enabled
- and disabled based on selected checkboxes.
-
- (IDE) Carbon Builds: an additional 512k of memory is added to Carbon
- built applications.
-
- (IDE) Code Editor: Add/Remove Comments behavior improved (it's now
- reversible, existing comments are retained and persist, and it
- leaves the affected lines selected).
-
- (IDE) Code editor: default width increased by 144 pixels.
-
- (IDE) Code Editor: double-click-and-drag behavior now matches Mac OS
- standard.
-
- (IDE) Code editor: Hide Empty Methods mode has changed slightly; you
- may now delete the contents of a method or event handler
- without losing access to it in the source pane.
-
- (IDE) Code editor: Navigation Buttons -- constants no longer hidden
- by Hide Empty Methods button.
-
- (IDE) Code editor: scrolls all the way to the left when the cursor is
- placed on the first character of a line.
-
- (IDE) Database Editor: dialogs used for editing database schema has
- been changed for clarity and ease of use. Functionality remains
- the same and depends on the capabilities of the database type.
-
- (IDE) Database plug-ins are now external rather than internal. The
- database plug-ins are: CSV Database Plug-in, OpenBase Database
- Plug-in, PostgreSQL, DBF Database Plug-in, OracleOCI 7.1
- Plug-in, ODBC Database Plug-in, dtfSQL Database Plug-in,
- Assorted 4D Plug-ins (6.0, 6.5, and 6.7 in ADSP and TCP/IP
- flavors)
-
- (IDE) Default Window Position: adjusted so it doesn't overlap the
- toolbar in the toolbar's default position. (Note: this only
- affects new projects, and only as seen in the IDE.)
-
- (IDE) Dialogs for editing properties, methods, and events are now
- movable Modal.
-
- (IDE) Icons: updated for more modern appearance.
-
- (IDE) IDE Memory Allocation: increased from 5500K to 8192K (but
- minimum allocation remains 4500K).
-
- (IDE) Language Reference: Window retitled "Language Reference"
-
- (IDE) License Agreement Dialog readied for localization.
-
- (IDE) List box: horizontal scrollbar now uses 16 for the linestep
- value, as the finder does.
-
- (IDE) List box: properties window -- all scrolling properties are
- grouped together.
-
- (IDE) List box: The default header now is set to the column number
- only -- instead of "Field1" it's "0""
-
- (IDE) List box: You must use a space if you want an empty header,
- empty strings will use the default header: ListBox1.heading(-1)
- = "" sets all headers of listbox1 to their defaults.;
- ListBox1.heading(5) = "" sets column 5's heading to its default
- heading; listbox1.heading(5) = " " sets column 5's heading to
- empty.
-
- (IDE) Menu item: "Editor Settings" has been renamed "Preferences".
-
- (IDE) Menu Item: Cut And Append's keyboard shortcut has been
- re-assigned to Shift-Cmd-X to more closely pair with "Copy and
- Append's new keyboard shortcut."
-
- (IDE) Menu Shortcut: The Build Application menu shortcut has been
- changed from Cmd-M to Cmd-Shift-M to accomodate Mac OS X. Mac
- OS X defines Cmd-M as minimize.
-
- (IDE) Menu: "Reference" re-labeled "Language Reference"
-
- (IDE) Menus: Adding a method, constant, property or event is no
- longer prohibited during a debug session. REALbasic used to
- have this capability before Jun 30 2000.
-
- (IDE) Menus: Show Locals menu renamed to Show Variables (and similar
- for "Hide Locals").
-
- (IDE) Menus: Show/Hide Variables and Show/Hide Stack menu items are
- now in the Window menu
-
- (IDE) Movie player: displays a lighter blue background color to match
- the "no signal" color on new TV's and the displays the Movie
- player icon from the tool bar.
-
- (IDE) Movie Player: new toolbar icon at its center instead of the old
- one.
-
- (IDE) Navigation Buttons: Hide Empty Methods button no longer hides
- properties.
-
- (IDE) Online Reference: after a search, if there is an exact topic
- match, that topic selected first (rather than whatever topic
- happens to be at the top of the search results).
-
- (IDE) Online Reference: now does "Search" by default instead of "Go"
- (default mode can be changed from "Search" to "Go" via a new
- Preferences option).
-
- (IDE) Online Reference: Pressing the Go button after a successful
- search for an item that is not in the search list will display
- the item in the themes list.
-
- (IDE) Online Reference: topic is highlighted in the topics list on
- the left side of the window whenever a topic is changed,
- whether by clicking a hyperlink or typing it in the new topic
- field.
-
- (IDE) Pop-up menu: InitialValue, and ListIndex property in the Window
- Editor now accurately reflected. For example if you have "Zero,
- One, Two, Three" as Initial Values and 2 as the ListIndex of a
- selected Pop-up, the Pop-up will display the word "Two" in the
- IDE window editor.
-
- (IDE) Preferences: Layout changed slightly to accomodate string
- change "Online Help" -> "Language Reference"
-
- (IDE) Preferences: REALbasic now loads and saves its preferences in
- the file "REALbasic3 Prefs". REALbasic will read your old prefs
- the first time it is run, so that you don't have to re-specify
- all your preferences.
-
- (IDE) Project file format: REALbasic 3 has an all new file format.
- For alpha releases you can choose whether to use the new format
- or the version 2.1.2 format:; New projects have the new
- ("Standard Project") format by default, you can choose whether
- to use that or the 2.1.2 format when you save.; Use the "Save
- As" command, to choose between Standard Project format and the
- older one.; Projects are saved in the same format in which they
- are opened.
-
- (IDE) Project Window: list is now drawn in 10-point Geneva, and items
- which are stored external to the project file are labelled in
- italics.
-
- (IDE) Project Window: when you create a new class, module, or
- interface, the item is simply selected in the project window
- rather than opening the Code Editor immediately.
-
- (IDE) Properties Window: cosmetic improvements, including a better
- look under Aqua.
-
- (IDE) PushButton: now 69 pixels by default, per the Aqua standard
- (looks OK on Classic/Win32 too).
-
- (IDE) Registration: Now gives explicit feedback when you register as
- a pro customer. REALbasic already gave feedback in other cases.
-
- (IDE) Shared Libraries: icon now have a more appropriate appearance
- in the Project window.
-
- (IDE) Toolbar: flip between horizontal and vertical toolbars by
- clicking the zoom box, rather than by option-clicking the close
- box.
-
- (IDE) Various Dialogs: adjusted to have a more proper appearance
- under Aqua (Mac OS X).
-
- (IDE) Viewers: window titles for Object viewers and Array viewers are
- now more consistent with REALbasic syntax.
-
- (IDE) Window Editor: Alignment guides are now darker (and so easier
- to see under OS X).
-
- (IDE) Window Editor: selection handles are now drawn even when
- multiple controls are selected (for improved visibility).
-
- (IDE) Windows: new windows are document windows by default instead of
- a modal ones, with the name Window# instead of Dialog#.
-
- (IDE) XML Export: XML files now have a creator code of REALbasic
- rather than BBEdit.
-
- (Mac) CompressPPC: this option has been removed per Apple's request.
-
- (Mac) Menu Text: ampersand symbols will display only if they are
- preceded by another ampersand symbol. This is to make the
- Windows and Mac platforms behave consistently. Note: old
- projects with single ampersands will have to be updated.
-
- (Mac) PushButtons, BevelButtons, Checkboxes, RadioButtons, Tab Panels
- and Groupboxes: The caption of these controls that contain
- ampersand symbols will display only if they are preceded by
- another ampersand symbol. This is to make the Windows and Mac
- platforms behave consistently. Note: old projects with single
- ampersands will have to be updated.
-
- (OSX) Menu item: "Editor Settings" (now "Preferences") appears in the
- Application menu on Mac OS X.
-
- (Win) ApplicationSupportFolder: now returns the Windows directory
- folder.
-
- (Win) Control Activation: controls no longer deactivate when a window
- is deactivated in Win32, per normal Win32 application behavior.
-
- (Win) Edit Field: point size was reduced slightly to match the point
- size of other controls. This fixes the bug when editing a cell
- in a list box, the edit field text does not completely fit
- inside the cell, consequently some of the text was not visible.
-
- (Win) Edit fields: background color is grayed out when the edit field
- is disabled, (unless you've modified the Back color). With
- unstyled Edit fields, the text is also grayed out.
-
- (Win) MsgBox: icon more consistent with the Mac MsgBox.
-
- (Win) Windows: fixed problem with windows disappearing behind the
- main window. Reverted to the previous behavior as this fix
- broke other things.
-
-
- The following bugs were fixed in this release:
- (68k) List box: Scroll bars now appear in 68k applications if their
- properties are turned on in the IDE.
-
- (All) Bevel Button: Fixed a bug which caused rare crashes when
- destroying a bevel button containing an icon. (Could possibly
- apply in other circumstances, too.)
-
- (All) Bevel Buttons: Enabled setting in the IDE now reflected by the
- running application. There was a bug which caused these to
- always begin enabled when run.
-
- (All) Binding: Memory leak fixed.
-
- (All) Command Keys: now pass through to the KeyDown event handler(s)
- if they don't match any enabled menu item.
-
- (All) Compiler: oversized integer literals (greater than 2147483647
- or less than -2147483647) are now parsed as doubles, even
- without a decimal point. Previously, oversized integer literals
- were interpreted as a completely different number (due to
- high-byte truncation).
-
- (All) Database: PostgreSQL connectivity -- now accessible both from
- classic Mac OS and Win32.
-
- (All) Database: closing a database occasionally crashed -- fixed.
-
- (All) Database: PostgreSQL Field Schema -- previously only worked if
- the table name was given in lower case; now works in a
- case-insensitive manner.
-
- (All) Database: PostgreSQL Field schema: char(n) fields (fixed-length
- character fields) length is now reported as n (the declared
- field length) instead of -1.
-
- (All) Database: PostgreSQL Field schema: IsPrimary column returns as
- a Boolean value ("false") rather than an integer ("0"). Note
- that IsPrimary is always false for PostgreSQL databases.
-
- (All) Database: PostgreSQL Field schema: reports 35 different data
- types (compared to previous 8).
-
- (All) DatabaseCursorField.DateValue: assignments to this property
- store the time as well as the date, as with DatabaseRecords.
- When getting a value, the resulting Date object may now contain
- a time as well as a date. For fields of type "Date", the time
- will be 00:00:00 (midnight); and for fields of type "Time", the
- date will be January 1, 0001. Fields of type "TimeStamp"
- contain valid data for both the date and time (and this is now
- supported).
-
- (All) DatabaseRecord.DateColumn: assignments to this property now
- store the time as well as the date, to support the SQL
- "TimeStamp" and "Time" field types (as well as "Date"). Note
- that if the date part is January 1, 0001, then this is converts
- to SQL as just a time ("18:54:00"), whereas if the date is
- anything else, it converts to SQL in full form ("2000-5-30
- 18:54:00").
-
- (All) Dynamic Controls: Memory leak fixed both within the IDE and in
- built applications.
-
- (All) FolderItem.Type: now reports the correct type even when a
- wildcard type ("????") is among the file types defined in the
- project settings.
-
- (All) List box: alignment -- left hand margin of the list box no
- longer overwritten when the alignment isn't left and the data
- is too long to fit.
-
- (All) List box: clicks in the disabled scroll bar of a list box no
- longer fall through to select a row.
-
- (All) List box: Deleting a row in a list box now commits any edits
- before the remove occurs. This prevents the editable cell from
- clobbering the contents of the wrong cell.
-
- (All) List box: Deleting rows in a list box with horizontal
- scrollbars no longer produces screen trash in the bottom of the
- listbox.
-
- (All) List box: Editable cells in listboxes now resize immediately
- when listboxes are resized, moved scrolled, or scrollbars are
- added or removed.
-
- (All) List box: editable cells no longer overwrite their boundaries
-
- (All) List box: Inserting a row in a list box now commits any edits
- before the insert. This prevents the editable cell from
- clobbering the contents of the wrong cell.
-
- (All) List box: No longer scrolls 1 pixel horizontally in cases where
- it shouldn't scroll at all.
-
- (All) List box: Resorting a list box now commits any edits before the
- resort. This prevents the editable cell from clobbering the
- contents of the wrong cell.
-
- (All) List box: Right, Center, and Decimal aligned cells of listboxes
- now truncate their text based on cell size (left aligned was
- working previously) Decimal aligned text truncates by dropping
- digits after the decimal, and by adding "..." when dropping
- digits before the decimal place.
-
- (All) Listbox: Fixed a problem that allowed you to add a horizontal
- or vertical scrollbar more than once. Now any attempt to do so
- will be ignored.
-
- (All) Pop-up menu: RowTags memory leak fixed.
-
- (All) Pop-up menus: RowTag method no longer crashes when given an
- invalid row number.
-
- (All) PostgreSQL dates: field types Date, Time, and TimeStamp are now
- properly supported; use the DateColumn and DateValue accessors
- for a date representation of this data, or use StringValue to
- get a human-readable date and/or time.
-
- (All) ReplaceAll: now correctly returns the sourceString when the
- oldString is "".
-
- (All) SpriteSurface: fixed bug which caused a crash if the
- SpriteSurface had code in its Collision event, but no sprites
- in the surface had a nonzero Group.
-
- (All) Stability: a type of crash caused by destructor recursion has
- been fixed.
-
- (All) Stability: fixed a bug which caused occasional crashes when a
- plug-in control (e.g. a BevelButton) closed its own window.
-
- (All) Tab Panels: Text properties can now be set without causing a
- compile-time error: TextFont, TextSize, Bold, Italic, and
- Underline.
-
- (All) Timer: timer reliability improved; timers can no longer get
- stuck when the system tick count wraps around.
-
- (All) Window activation: the REALbasic event "deactivate" occurs
- before the automatic control deactivation process introduced in
- a6 so that the old work around of storing the enabled state of
- controls in the Deactivate event still works.
-
- (All) Window.DrawInto: now works correctly for all control types,
- with the following exceptions: Movie player: does not draw
- (draws a frame with a large X" instead).; Sprite surface: when
- drawn into another window, the position is wrong and in fact
- relates to the position of its original window; still works
- when printed, however.
-
- (Car) BevelButton, Disclosure Triangle, and several other controls:
- fixed bug which caused these to crash in Carbon applications
- under MacOS 8/9 since 3.0a08 or so.
-
- (Car) Command-Period: command-period now works in Carbon applications
- or in the Carbon IDE.
-
- (Car) Compiling: basic.cpp Assertion failure while building Carbon
- applications no longer occurs.
-
- (Car) FolderItem: a number of methods (e.g. Launch) which previously
- did nothing under Carbon have now been implemented.
-
- (Car) IDE: Contextual Menus now work under Carbon.
-
- (Car) List box: checkboxes within a list box no longer get stuck in
- the checked state in Carbon.
-
- (Car) Menus: Apple Menu Items no longer appear twice in the Apple
- Menu within the Carbon IDE, and built applications.
-
- (Car) Project resources: resources can now be added to a project in
- the Carbon IDE, and used as normal in Carbon builds.
-
- (Car) Project window: Relocate contextual menu command -- now works
- correctly with resources, scripts, and XCMDs.
-
- (Car) Runtime Printing: now works in the Carbon IDE and Carbon
- builds. Note: the SetupString property of the PrinterSetup
- class has changed format for Carbon. This format is internal
- and undocumented; don't count on it having any particular
- structure.
-
- (Car) Source Printing: now works in the Carbon version of the IDE.
-
- (Car) TargetCarbon: the Carbon version of REALbasic now compiles as
- Carbon when running in the IDE; you can verify this by checking
- the TargetCarbon built-in constant.
-
- (Car) Threads: now work in the Carbon version of the IDE (as well as
- built applications).
-
- (Car) Window Editor: Pushbuttons, GroupBoxes, RadioButtons, and
- CheckBoxes are no longer invisible if placed after a Listbox in
- the stacking order.
-
- (Car) Window MaxWidth/MaxHeight: fixed bug which allowed the window
- to be stretched one pixel larger than the specified limits.
-
- (Car) Windows now highlight when they should.
-
- (IDE) "Save As" dialog once again remembers previous project name.
-
- (IDE) AppleEvents: 'quit' AppleEvent sent to an application while it
- is running in the IDE now quits the application instead of
- crashing REALbasic.
-
- (IDE) Array Viewer: Fixed a failed assertion that occurred when
- arrays weren't yet dimensioned.
-
- (IDE) Array Viewer: Global Arrays of objects are now viewable and no
- longer cause a crash.
-
- (IDE) ArrayViewer: Colors in Array viewers are no longer 2 times
- intended height.
-
- (IDE) AutoRestore: now save its file in the preferences folder rather
- than the temp folder. Mac OS 9.1 purges the "Temporary Items
- Folder" at startup, making this a bad place to put this file.
- This change also improves the Multiple-User support since each
- user will have a copy their last AutoRestore project and not
- the last one used on the system.
-
- (IDE) Balloon Help: balloons no longer flicker every time the mouse
- moves while running applications in the IDE.
-
- (IDE) Build Errors: error messages are now more accurate when a build
- fails due to a plug-in that doesn't support the target
- platform, or a disk-related error.
-
- (IDE) Build progress dialog: now correctly lists name of Carbon
- application being built.
-
- (IDE) Build Settings: "68k" checkbox value is now saved (both in
- version 2.1 and in standard project files).
-
- (IDE) Build Settings: "Language" pop-up value is now saved in
- standard(v3) project files.
-
- (IDE) Code editor -- Hide Empty button fixed bug which caused this to
- hide events of controls, even when those events contained code.
-
- (IDE) Code Editor: command-key presses no longer fall through to the
- code editor when a running application is suspended in the
- debugger.
-
- (IDE) Code Editor: Autocompletion -- Ellipsis character used to show
- partial autocompletion is now international-savvy.
-
- (IDE) Code Editor: Autocompletion no longer gets confused and
- crashes when you have a folder in your project with the same
- name as a class.
-
- (IDE) Code Editor: Autocompletion -- no longer suggests "As" before
- the variable name.
-
- (IDE) Code Editor: Autocompletion -- now recognizes parameters in
- functions as well as in subroutines.
-
- (IDE) Code Editor: Autocompletion clears and recalculates any pending
- autocompletion whenever the cursor is moved (even if moved with
- the mouse).
-
- (IDE) Code Editor: Autocompletion no longer gets confused in certain
- cases involving array properties.
-
- (IDE) Code Editor: Autocompletion now knows about the InStrB and MidB
- functions.
-
- (IDE) Code Editor: Autocompletion now knows what to do with variables
- whose type is a plug-in control.
-
- (IDE) Code Editor: Autocompletion now understands user-defined
- functions better.
-
- (IDE) Code Editor: Autocompletion pop-up -- control arrays now appear
- only once, rather than once for each instance.
-
- (IDE) Code Editor: Autocompletion pop-up menu now cancels cleanly
- when you press Delete, Esc, etc.
-
- (IDE) Code Editor: Autocompletion pop-up no longer causes occasional
- crashes when it's cancelled.
-
- (IDE) Code Editor: copy-clicking an array property in the browser now
- inserts just the property name, without including its array
- size.
-
- (IDE) Code Editor: copy-clicking an item in the browser now replaces
- selected text in the editor, rather than prepending the clicked
- item to the selected text.
-
- (IDE) Code Editor: Copy-clicking no longer crashes when no source was
- selected.
-
- (IDE) Code Editor: Double-clicking past the end of the last line no
- longer causes an assertion failure
-
- (IDE) Code Editor: Double-clicking to select a word now works even
- when clicking the first character on a line.
-
- (IDE) Code Editor: Drag-selection scrolls correctly in all
- directions.
-
- (IDE) Code Editor: fixed a crash which could occur when invoking the
- code editor with option-tab and then copy-clicking a word in
- the browser pane.
-
- (IDE) Code Editor: long lines (longer than 255 characters) now scroll
- all the way to the right.
-
- (IDE) Code Editor: memory leak every time you closed a code editor is
- now fixed.
-
- (IDE) Code Editor: Navigation Buttons no longer cause a crash when
- revisiting a deleted method. Now, when a method or handler is
- deleted, it is removed from the navigation history.
-
- (IDE) Code Editor: Overloaded methods no longer confuse the IDE,
- causing it to jump to the wrong one as soon as you start
- typing.
-
- (IDE) Code editor: replacing content of a method or event handler
- while Hide Empty mode was turned on no longer crashes.
-
- (IDE) Code Editor: shift-click-and-drag to extend text selection now
- works better.
-
- (IDE) Code Editor: shift-click-drag behavior refined further.
-
- (IDE) Code Editor: Undo no longer causes bad indentation.
-
- (IDE) Color Palette: reset when you create a new project.
-
- (IDE) Constants: icon shown in browser now reflects the actual data
- type of the constant.
-
- (IDE) Custom Classes: derived from serial controls, timer controls
- and possibly others will now not only contain the custom
- properties the user has added but also the other properties
- common to the serial or timer control.
-
- (IDE) Custom Classes: Icon in the Window editor derived from parent
- class when subclassing instead of using the generic appearance.
-
- (IDE) Debugger: ArrayViewer: Fixed a crash when ArrayViewer closes
- while still having the focus.
-
- (IDE) Debugger: fixed crash which could occur when a debug session
- must be shut down due to a change in a source code line while
- running in the IDE.
-
- (IDE) Debugger: Non-local arrays are now viewable while debugging
- (click view in their parent object viewer)
-
- (IDE) Debugger: Singles are now displayed properly in the object
- viewer.
-
- (IDE) Dialogs: fixed button captions in several dialogs where
- "Add..." had inadvertently been changed to "Create", and
- "Edit..." to "Modify".
-
- (IDE) Edit Menu: last few menu items had incorrect balloon help; now
- fixed.
-
- (IDE) Error handling: crash which occurred when a close event handler
- called MsgBox, while an application was being terminated due to
- an unhandled exception, now fixed.
-
- (IDE) File dialogs: fixed bug which caused the dialog asking if you
- want to save the previously open project to appear twice when
- using the "Open" menu command.
-
- (IDE) File Format: database project items no longer lose their
- settings when saved in the new file format.
-
- (IDE) File Format: fixed a bug which caused the IDE to freeze when
- saving a string property larger than 32K.
-
- (IDE) File Format: fixed a bug which caused the IDE to hang while
- reading a new (v3) format file containing a CFM plugin.
-
- (IDE) File Reading: project files with a bogus default window
- (corrupted) are now handled more gracefully.
-
- (IDE) File Reading: projects with corruption that was causing some
- modules or classes to be inaccessible can now be read because
- additional error checking allows REALbasic to recover projects.
-
- (IDE) Help Key: no longer triggers a "command-1" shortcut in running
- applications.
-
- (IDE) Input Manager support: fixed a bug which sometimes required you
- to press the Delete key twice to delete a control in the IDE
- while using the Input Manager (in Japanese, for example).
-
- (IDE) Language Reference: button no longer toggles between "Go" and
- "Search" when the reference window is deactivated (i.e. in the
- background).
-
- (IDE) List box: ColumnCount and ColumnWidth now immediately update
- the appearance of the control in the window editor to reflect
- user settings of in the properties window.
-
- (IDE) List box: contents no longer appear bottom justified when the
- number of items was less than the total visible.
-
- (IDE) List box: headers taken into account when calculating the
- vertical scrollbar
-
- (IDE) List box: headings no longer show in the Window editor when
- hasHeading is set to false and the initial value is changed.
-
- (IDE) List box: resizing a list box adjusts its scrollbars.
-
- (IDE) Locked Project: overwriting a locked project file is no longer
- allowed.
-
- (IDE) Memory leak: Edit fields no longer leak four menu items per
- run.
-
- (IDE) Memory leak: Fixed two usually-minor memory leaks (one
- unhandled exception, one application object) while running
- applications repeatedly in the IDE.
-
- (IDE) Memory leak: project item (such as a picture) memory is now
- released when it is deleted from the project, or when the
- project is closed.
-
- (IDE) Memory usage: leaked objects (usually caused by circular
- references in user-written code) memory usage now cleaned up
- when the next run begins.
-
- (IDE) Menu Item: Copy And Append's keyboard shortcut has been
- re-assigned to Shift-Cmd-C to avoid a conflicts with the "New
- Constant" which also used Option-Cmd-C."
-
- (IDE) Menus: Fixed a problem where selecting a window in the window
- menu would activate a different window or do nothing at all.
-
- (IDE) Menus: Relocating items when a project is loaded now enables
- the "Save" menu item.
-
- (IDE) Menus: The stack menu no longer appears in the bottom of the
- window list during debugging You can still get to it through
- the window menu, just use Hide/Show Stack
-
- (IDE) New File Format: now correctly stores a default window setting
- of <none>.
-
- (IDE) New File Format: now correctly stores the interfaces of a
- class.
-
- (IDE) Object viewer and Array Viewer: hyperlink "View" hotspots in
- Object viewers and Array viewers now shift appropriately when
- the window is resized. Previously one would have to click to
- the right of the word when the window was diminished from its
- original size.
-
- (IDE) Online Reference: clicks in the scroll bar no longer "fall
- through" to a code box behind the scroll bar.
-
- (IDE) Online Reference: fixed a problem which caused the reference to
- jump to the wrong topic, showing instead the previous or next
- topic alphabetically.
-
- (IDE) Online Reference: paging with the scroll bar now scrolls the
- content area by the right amount.
-
- (IDE) Online Reference: Pressing the Go button after a search has
- failed will no longer display "search failed" in the left
- column but instead jump to the appropriate spot in the list of
- themes.
-
- (IDE) Plugin API -- REALinRuntime: fixed a bug which caused this to
- sometimes incorrectly return true for a control in an IDE view
- editor window.
-
- (IDE) Plug-in Support: changed management of the resource chain such
- that plugins are more likely to be able to access their
- resource fork without explicitly asking for it. Plugin
- developers should not rely on this, however; follow the new
- guidelines in the plug-ins SDK.
-
- (IDE) Plug-ins: "Close" method of a Plug-in control is now called
- before the instance data is released, rather than after."
-
- (IDE) Plug-ins: Floating-point properties of plug-in controls now
- display correctly in the Properties window.
-
- (IDE) Project item import: imported classes and windows in v3 format
- no longer lose their references to other classes (for example,
- the Super of a control would be lost).
-
- (IDE) Project Settings: changes to project settings now cause the
- Save command to be enabled.
-
- (IDE) Project window -- Locating Items when re-locating an external
- item in the project, the dialog now uses Navigation Services
- (when available).
-
- (IDE) Project Window: importing a window or class no longer causes
- the project's default window to change to "none".
-
- (IDE) Project Window: Moving items from one folder to another in the
- project window can now be undone (Cmd-Z) and redone.
-
- (IDE) Project window: Pictures -- when re-locating a picture file in
- the project, the dialog now allows selection of any file type
- (since it may be anything supported by QuickTime).
-
- (IDE) Project Window: Relocating a project item now marks the project
- as needing to be saved. The "Save" menu-item will be enabled in
- this case and REALbasic will prompt you to save the project
- before quitting.
-
- (IDE) PropertiesWindow: Property Panes can no longer be shorter than
- the space they need. e.g. if you take a editfield and type in
- some text, and then change the textSize Property to a value of
- 4 the Property Pane won't shrink to that size since its caption
- and the widget at the end won't fit.
-
- (IDE) PropertiesWindow: The "Edit" button has been made slightly
- smaller so that it doesn't butt up against the edge of the
- scrollbar.
-
- (IDE) Registration Reminder: "Quit" button now uses the same string
- as the IDE's Quit Menu item to allow for easier Localization.
-
- (IDE) Registration: A more helpful message is displayed in the
- Previous Serial Number field if an old copy is already
- installed.
-
- (IDE) Registration: fixed a problem which caused some REALbasic 2
- serial numbers to be considered invalid as a base for upgrading
- to REALbasic 3.
-
- (IDE) Save Changes Dialog: Made Save changes dialog a moveable modal,
- so users can't display the dialog multiple times.
-
- (IDE) Save/Create File dialogs now have more accurate & informative
- prompts.
-
- (IDE) SaveAs dialog: re-adjusted the non-NavServices Save As dialog
- for international users.
-
- (IDE) Saving: errors when saving now present an error message rather
- than failing silently.
-
- (IDE) Scriptable IDE: build event now waits for the build to complete
- before returning without causing REALbasic to quit before the
- build is finished.
-
- (IDE) Scrollbars/Sliders: Now display properly when loaded from a
- file, and after the Max is resized to fit a value.
-
- (IDE) Show Hidden Methods button: no longer crashes when used in a
- class with no controls.
-
- (IDE) Stationery: opening a stationery pad, the IDE now properly
- calls the project "Untitled" and considers it unsaved, just as
- creating a fresh project with the New command does.
-
- (IDE) Stationery: REALbasic is now stationery-aware, so when you
- double-click a stationery pad in the Finder, the Finder no
- longer makes a document copy of it before opening it in
- REALbasic.
-
- (IDE) Tab panel: compiling no longer causes invalid, unusable Tab
- panels in the IDE after a build.
-
- (IDE) Tool bar: plugins which register multiple controls now get the
- correct icons in the toolbar.
-
- (IDE) Tool bar: stray highlighting caused by moving and clicking very
- quickly is now fixed.
-
- (IDE) Toolbar: fixed a bug which could cause occasional crashes on
- some systems.
-
- (IDE) Viewers: "string View" in the Object viewer and ArrayViewer now
- comes from a resource and so is international savvy.
-
- (IDE) Viewers: Array viewers can now view arrays of objects.
-
- (IDE) Viewers: Array viewers no longer crash when attempting to show
- 2D and higher dimensional arrays.
-
- (IDE) Viewers: Object viewers and Array viewers now respond to the
- appropriate menu item or their keyboard equivalents for Close
- and Zoom.
-
- (IDE) Window editor: Alignment lines flicker less on slower machines.
-
- (IDE) Window editor: Alignment lines no longer occasionally leave
- stray pixels behind.
-
- (IDE) Window editor: custom classes in a window can now be duplicated
- (or copied and pasted) without crashing.
-
- (IDE) Window Editor: While typing in the caption or text property of
- a control and then changing another property the text of the
- control will no longer revert to its old state in the window
- editor. This change applies to Pushbuttons, Editfields,
- GroupBoxes, CheckBoxes, RadioButtons, and StaticTexts.
-
- (IDE) XML Export: "<RBVersion>" tag has been replaced with an
- "<RBProject>" top-level tag that encloses the rest of the file,
- per the XML specification.
-
- (Mac) Built Applications: applications using plug-ins which use
- sockets are now built correctly. Previously, the built
- application would not have the Open Transport code it needed
- unless the project also made use of the Socket class. This
- fixes, for example, using postgreSQL in stand-alone Mac
- applications.
-
- (Mac) Command-Period: both the command-period sequence (to trigger
- UserCancelled in your REALbasic code) and Command-shift-period
- (to switch to the REALbasic debugger) now work on non-QWERTY
- keyboard layouts.
-
- (Mac) Control activation: controls are now deactivated when the
- window is deactivated. For most controls, this means they are
- drawn as if disabled. Static texts are drawn in a color close
- to gray but retaining some of their original color.
-
- (Mac) Control Activation: cosmetic errors occurring when the
- activation state of a control was changed, while it was
- deactivated, have now been fixed.
-
- (Mac) Control enabling: controls which previously did not change
- their appearance to reflect the state of their "enabled"
- property, now do so. These include the progress bar, disclosure
- triangle, chasing arrows, separator, and image well.
-
- (Mac) CPU Usage: in order to reduce sluggishness in places such as
- EditFields, we've reduced the maximum sleep time from 20 ticks
- to 5 ticks. This increases the CPU usage of your programs only
- slightly, but produces a much more responsive feel when typing.
-
- (Mac) Date class: a work around for a MacOS system bug involving date
- records with day=0 has been added. Operations such as "d.day =
- d.day-1" are now safe.
-
- (Mac) Edit Field: single-line Edit Fields now use a line height
- consistent with that provided by system defaults, even after
- assigning new text or resetting the font. One benefit is that
- text in the Properties window no longer jumps up a pixel when
- you enter the field, as happened in recent alphas.
-
- (Mac) EditField.ScrollPosition: assigning ScrollPosition of a
- multi-line Edit field without a scroll bar no longer crashes.
-
- (Mac) EditField.TextFont and related properties: previously, the
- exact behavior of assignment to TextFont, SelTextFont,
- TextColor, SelTextColor, TextSize, and SelTextSize was
- undefined, and varied quite a bit between single-line and
- multi-line edit fields. The behavior has now been unified as
- much as possible, and is defined as follows (where "e" is an
- EditField): "e.text = X" replaces the entire contents of the
- field with X. The font, size, and color are uniform and match
- the values last set with e.textFont, e.textSize, and
- e.textColor, or if these haven't been used, the settings in
- the IDE. (Note that using e.selTextFont etc. may change the
- entire appearance of the text -- always true if the field is
- not styled -- but does NOT change the "default" settings used
- when the whole text is replaced with "e.text = X".);
- "e.textFont = X" in a styled or plain field changes the font of
- the entire field to the given value. It also resets the
- "default" font, size, and style which will be used if the
- whole text is replaced.; "e.selTextFont = X" in an plain field
- changes the font of the entire field to the given value.;
- "e.selTextFont = X" in a styled field changes the font of the
- selected text to the given value.; Text size and color work
- just like the font. CAVEAT: font, size, and style are stored in
- a single structure internally, so changing any of them by
- assigning to either TextFont or TextSize will cause the current
- settings for font, size, and style to ALL be stored as the
- default. Text color is stored separately. But do not rely on
- this behavior; it's best to set the font, size, and color
- explicitly when you want to change them for the whole field.
-
- (Mac) EditField: multi-line EditFields without scrollbars no longer
- scroll the text to the bottom of the visible field when you
- start typing.
-
- (Mac) EditFields: fixed a bug introduced in 3.0b2 which caused the
- Home, End, Page Up, and Page Down keys to malfunction in
- multi-line EditFields.
-
- (Mac) Fixed a memory leak which showed up, for example, in Picture
- masks.
-
- (Mac) Global floating windows: color depths no longer really low.
-
- (Mac) Global floating windows: once again work with MacOS versions
- older than 8.5, fixing a bug introduced in 3.0a5. NOTE: Global
- floating windows have under these older versions of MacOS have
- a very low color depth, due to the Mac OS itself.
-
- (Mac) Graphics.StringWidth: now works correctly for strings longer
- than 255 characters.
-
- (Mac) IDE: Online Reference now scrolls to the bottom.
-
- (Mac) Listbox.ScrollPosition: assignment of scrollPosition when new
- value was beyond the number of rows at the last refresh no
- longer fails.
-
- (Mac) MacOS 8.0/8.1: both built applications and the IDE run again on
- these versions of MacOS, thanks to the demise of a bug
- introduced in 3.0a04.
-
- (Mac) Menu Command Keys: fixed problem with commands keys not
- interpreting constants in the IDE.
-
- (Mac) OpenPrinter: Bug (introduced in 3.0a09) which caused this
- function to crash or produce immortal print progress dialogs
- has now been fixed.
-
- (Mac) ParseDate method: d.totalseconds = d.totalseconds no longer
- required to force the parsed date to update its properties.
-
- (Mac) Pop-up menu: memory leak fixed.
-
- (Mac) SelectFolder: Navigation Services dialog is now movable modal,
- and allows background windows to refresh.
-
- (Mac) Sliders and Scroll bars: Setting the PageStep property of for a
- scroll bar in code will now re-adjust the proportional scroll
- bar accordingly.
-
- (Mac) Sliders: Vertically Oriented Sliders now behave correctly when
- the user clicks in the track above and below the slider.
-
- (Mac) Socket.Lookahead: now works without crashing in built
- applications (as well as in the IDE).
-
- (Mac) Sound class: looping sounds memory leak fixed.
-
- (Mac) Sounds: fixed a bug which caused sounds to sometimes play
- incorrectly (play the wrong sound, or a horrible screeching
- noise).
-
- (Mac) Sprite surface: collision detection on the pixel level now
- works on Mac OS.
-
- (Mac) Sprite surface: sprites created from cicn resources no longer
- cause crash.
-
- (Mac) Timers: fixed a bug which caused timers with a period in the
- 17-50 ms range to fire too slowly on certain systems. (That bug
- was introduced in 3.0b2.)
-
- (OSX) Built applications: now correctly detect when they are running
- under Aqua, and adjust their appearance accordingly.
-
- (OSX) Date objects are now initialized to current date under OS X.
-
- (OSX) Dates: TotalSeconds property now can now be set under Carbon.
-
- (OSX) Focus rings now erase properly when a control loses the focus.
-
- (OSX) Global floating windows: now work properly under Carbon/OS X.
-
- (OSX) IDE: fixed bug which caused last two commands in the Edit menu
- to invoke the wrong dialogs.
-
- (OSX) List Box: header has proper Aqua appearance.
-
- (OSX) Menu item: "Hide" is now named "Hide REALbasic" per OS X
- standards.
-
- (OSX) Menu item: Quit command (in IDE) now appears in Application
- menu per OS X standards.
-
- (OSX) Plug-in Compiling: building applications that call plug-in
- functions (such as Shell.Execute) under Mac OS X no longer
- suddenly quit.
-
- (OSX) Plug-ins: External plug-ins are now found in the "plug-ins"
- folder next to the REALbasic application.
-
- (OSX) Plug-ins: we've added a work-around for a bug in MacOS X
- (Public Beta) which was causing intermittent crashes while
- loading plug-ins. Affects both the IDE and built applications.
-
- (OSX) Progress bars: animate even when timers or threads are active.
-
- (OSX) Progress bars: Deleting progress bars in OS X Window editor now
- actually deletes them, instead of leaving "Zombie" progress
- bars.
-
- (OSX) PropertiesWindow: Now looks much better under Aqua. Property
- Panes don't overlap each other and don't overlap the scrollbar.
-
- (OSX) Stability: fixed bug which caused the IDE's or built
- application's resource fork to be inaccessible on some versions
- of OS X. (Actually more of a work around for an Apple bug, but
- still...)
-
- (OSX) Window BackgroundColor: now implemented for Carbon. (Does not
- yet work properly under OS X).
-
- (OSX) Window.BackgroundColor: now appears correctly under OS X.
-
- (Win) Application icon: now appears in the title bar, instead of the
- default Windows one.
-
- (Win) Application.OpenDocument Event: Windows applications can now
- receive OpenDocument events.
-
- (Win) Arrays: arrays are no longer dynamically allocated when needed.
- If you want to allocate a 10000 item integer array, the whole
- array will be allocated instead of on an "as needed" basis.
- This should fix the slow array problem when first accessing the
- array.
-
- (Win) Arrays: removed changes from b2 that allocated the entire
- array. To achieve the same effect, just set the last element of
- the array, so that the whole array is allocated.
-
- (Win) Arrays: were not being freed when out of scope, this is now
- fixed.
-
- (Win) BevelButton: assigning a System font name should now map to
- Window's MS Sans Serif font.
-
- (Win) BevelButton: no longer leak Win32 System Resources, and GDI
- Resources when refreshing themselves.
-
- (Win) BevelButtons: Bevel and ButtonType properties can now be set
- via code.
-
- (Win) Canvas: Canvases now draw in their correct location.
-
- (Win) CheckBox, RadioButton, and ChasingArrow: will now inherit the
- background color of the parent Window.
-
- (Win) Clipboard.Picture: You can now set picture data to the
- clipboard.
-
- (Win) Control Cloning: cloned controls are now visible. Previously
- they were created, but didn't appear unless they were cloned on
- a canvas.
-
- (Win) Controls: Disclosure Triangles and Pop-up Arrows now refresh
- correctly and have transparent backgrounds on Win32.
-
- (Win) Controls: Refreshing controls now behaves as expected (e.g.,
- Canvas1.refresh).
-
- (Win) Controls: Various controls including, but not limited to push
- buttons, checkboxes and radio buttons now no longer receive
- clicks when disabled.
-
- (Win) data types: single to integer conversion problem fixed.
-
- (Win) DataBase.dateColumn: now implemented.
-
- (Win) Database: REAL DB Double Fields: are now converted properly to
- little endian.
-
- (Win) Date.AbbreviatedDate: now returns with the correct abbreviated
- date format string.
-
- (Win) Date.Day: when the day that the user is setting is beyond the
- end of the month, the day will now return the day of the next
- month that it falls under. Similarly, if the day that the user
- is setting is before the beginning of the month, the day will
- return the last day of the previous month.
-
- (Win) Date.Month: when the month that the user is setting is beyond
- the end of the year or before the beginning of the year, the
- year will be incremented or decremented accordingly, just like
- the Mac.
-
- (Win) Date: negative months should now behave the same on Windows as
- they do on the Mac. Also, setting the year will now work even
- if you're on a leap day.
-
- (Win) Declares: fixed problem with using MemoryBlocks in declares.
-
- (Win) Declares: fixed weird behavioral problems when calling declared
- methods. Previous workarounds such as having a useless line
- calling str() are no longer necessary.
-
- (Win) Disclosure Triangle: No longer crashes when clicked. Crashes
- used to occur only on systems with QuickTime installed. This
- bug was introduced Aug 15 2000.
-
- (Win) Drag and Drop: Dragging from a multi-line edit field no longer
- causes crash.
-
- (Win) Drag and Drop: dragging multiple items is now possible.
-
- (Win) Drag and Drop: folderitems -- controls now accept folder items.
-
- (Win) Drag and Drop: MacData -- controls now accept MacData.
-
- (Win) Drag and Drop: now shows a boxed outline to indicate the
- dimensions of your drag object.
-
- (Win) Drag and Drop: pictures -- controls now accept picture drops.
-
- (Win) Drag and Drop: removed a debug output string from compiled
- apps.
-
- (Win) Drag and Drop: text -- controls now accept text drops
-
- (Win) Edit Field: acceptTabs property now works for multiline and
- single line editfields. If acceptTabs is false, it behaves as
- previously, i.e. tabs to the next control.
-
- (Win) Edit Field: invisible EditFields no longer fire LostFocus and
- GotFocus events.
-
- (Win) Edit field: Now behave correctly in their scroll bar and border
- region when overlapped with a canvas control.
-
- (Win) Edit field: SelStart assignment bug fixed; it now works
- correctly and just like the Mac version. Caveat: under Win32,
- a text selection is visible only in the Edit field which has
- the focus. (This is a Win32 system difference, not related to
- REALbasic.)
-
- (Win) Edit Field: SelTextColor property now returns color correctly.
-
- (Win) Edit Field: should now all receive changed (text/selection)
- events.
-
- (Win) Edit Field: TextFont property Edit Field updates correctly at
- start up to handle symbol encoded fonts.
-
- (Win) Edit Field: TextStyleData property now implemented, but is not
- binary equivalent to the Mac TextStyleData. This means that you
- should not create your own style data from a string and pass it
- to SetTextAndStyle, since they are not equivalent on both
- platforms. Also implemented SetTextAndStyle, which previously
- did nothing.
-
- (Win) EditField.KeyDown: getting the ASC of the Key parameter now
- works.
-
- (Win) EditField.KeyDown: now passes arrow keys, insert, delete, home,
- end, page up, and page down keys to the KeyDown event. These
- are coded the same as the Mac key codes.
-
- (Win) EditField.TextFont and related properties: behavior now matches
- that of Mac OS; This also fixes the EditField Appearance
- background colors. EditField.TextFont and related properties:
- previously, the exact behavior of assignment to TextFont,
- SelTextFont, TextColor, SelTextColor, TextSize, and SelTextSize
- was undefined, and varied quite a bit between single-line and
- multi-line edit fields. The behavior has now been unified as
- much as possible, and is defined as follows (where "e" is an
- EditField): "e.text = X" replaces the entire contents of the
- field with X. The font, size, and color are uniform and match
- the values last set with e.textFont, e.textSize, and
- e.textColor, or if these haven't been used, the settings in the
- IDE. (Note that using e.selTextFont etc. may change the entire
- appearance of the text -- always true if the field is not
- styled -- but does NOT change the "default" settings used when
- the whole text is replaced with "e.text = X".); "e.textFont =
- X" in a styled or plain field changes the font of the entire
- field to the given value. It also resets the "default" font,
- size, and style which will be used if the whole text is
- replaced.; "e.selTextFont = X" in an plain field changes the
- font of the entire field to the given value.; "e.selTextFont =
- X" in a styled field changes the font of the selected text to
- the given value. Text size and color work the same as the font
- does.
-
- (Win) EditField: fixed problem with disabled EditFields not updating
- the text color when enabled.
-
- (Win) EditField: will now accept double clicks and highlights the
- word.
-
- (Win) EditFields: fixed problem with clicking on the first 4 or 5
- pixels of an EditField.
-
- (Win) Events: Mouse Down and Action Events now occur in the proper
- order when controls are overlapped, and pass through or don't
- pass through depending on user code, or defaults.
- Ramifications: You can build your own overlapping custom canvas
- controls on Windows; You can put a canvas on top of a list box
- or edit field to catch events
-
- (Win) Exceptions are now handled properly on Windows. Exception
- handlers get called.; Exceptions are passed up the calling
- chain.; Win32 stack size is 896k, using more now causes a stack
- overflow exception.
-
- (Win) Exceptions: fixed problem with exceptions not getting caught
- (especially in Open events).
-
- (Win) Exceptions: fixed the last remaining exceptions case. This
- example should now work.
-
- (Win) Failed Assertions: These no longer fail silently under Windows.
- Please report any you find in the usual manner.
-
- (Win) Floating Windows: appear as a topmost Window, i.e. always on
- top of any other regular Window.
-
- (Win) Folder Item: memory leak fixed where instances of an object
- were not being freed when out of scope.
-
- (Win) Folder Item: OpenStyledEditField and SaveStyledEditField
- methods now properly save/load styled text.
-
- (Win) FolderItem.Count: fixed problem with counting the number of
- files in your root volumes.
-
- (Win) FolderItem.Delete: Empty folders can now be deleted under
- Windows.
-
- (Win) FolderItem.Item: Cache now updates to reflect files being moved
- in/out of a folder.
-
- (Win) FolderItem.Item: fixed problem with two trailing backslashes
- appearing in pathname.
-
- (Win) FolderItem.Item: the items in a folder are not cached as
- frequently as before, so accessing the items in a folder should
- be quicker.
-
- (Win) FolderItem.Name: introduced in the last alpha, which duplicated
- the filename string so that the filename was repeated twice
- i.e., renaming a folder "NewFileName" gave it
- "NewFileNameNewFileName" instead.
-
- (Win) FolderItem.OpenAsSound: Is now implemented under Windows and
- uses .wav files.
-
- (Win) FolderItem.Parent: Parent path should return all valid
- directories instead of empty strings at times.
-
- (Win) FolderItem: Fixed problem with appending .jpg to files when
- saving as JPEG when the extension ".jpe" is already present.
-
- (Win) FullScreen: works for SDI and MDI applications, and now hides
- the border so it's less visible on multiple display monitors.
-
- (Win) GetFolderItem: Was not returning nil for invalid folders whose
- parent path is invalid. Now fixed.
-
- (Win) GetSaveFolderItem: Default filename is now displayed in the
- save dialog box.
-
- (Win) Graphics.DrawPicture: memory leak fixed.
-
- (Win) Graphics.FillOval: should now resemble an oval/circle, instead
- of a pear-like shape.
-
- (Win) Graphics: DrawCautionIcon, DrawStopIcon, and DrawNoteIcon
- methods now implemented.
-
- (Win) Graphics: DrawLine method -- fixed the "rough lines" problem
- introduced in 3.0a11, where lines originating from the same x,y
- coordinates would show up 1 pixel off.
-
- (Win) Graphics: DrawString method -- new line characters handled
- correctly.
-
- (Win) Group Box: EditFields, PopupMenus, and Sliders now receive
- events when inside group boxes.
-
- (Win) Invisible Controls: Fixed the problem (introduced in 3.0a08)
- where invisible controls could get mouse clicks.
-
- (Win) KeyBoard class: now returns key modifiers. Supported properties
- include, AsyncControlKey, AsyncOptionKey, AsyncShiftKey,
- AsyncCommandKey, CommandKey, ControlKey, OptionKey, and
- ShiftKey.
-
- (Win) KeyDown event: controls now receive CR keys (i.e. the Enter
- key).
-
- (Win) Line Control and Graphics.DrawLine: missing pixels bug fixed.
-
- (Win) List box: drag and drop -- fixed refresh issue when dropping an
- item on to a listbox.
-
- (Win) List box: editable cells now display their text while being
- edited.
-
- (Win) List box: EnableDrag property now works as intended, i.e. you
- can drag an item from the listbox to any other control.
-
- (Win) List box: endcaps now visible.
-
- (Win) List box: events -- fixed problem with change and double click
- events when the EnableDrag property is checked.
-
- (Win) List Box: failed assertion error if clicking on the listbox
- whose EnableDrag property is true fixed.
-
- (Win) List box: Fixed a refresh problem which prevented drawing on
- top of a list box.
-
- (Win) List box: fixed refresh problem that grayed out the listbox.
-
- (Win) List box: Headers now receive clicks again.
-
- (Win) List box: Hierarchical list boxes now highlight properly,
- regardless of rows alignment setting.
-
- (Win) List box: Hierarchical list boxes update correctly when
- expanding
-
- (Win) List box: refresh problem that prevented the listbox from
- updating when setting the CellCheck property in code fixed.
- Fixed other listbox refresh problems in the process.
-
- (Win) List box: removed focus ring when editing a cell.
-
- (Win) Listbox & EditFields: fixed a bizarre problem with editfields
- losing focus and win32 applications crashing. This happened
- with an editable listbox, but only occured in special cases.
-
- (Win) Little Arrows: No longer crashes when clicked. Crashes used to
- occur only on systems with QuickTime installed. This bug was
- introduced Aug 15 2000.
-
- (Win) MDI: Events -- Mouse events (MouseEnter, MouseMove, MouseExit)
- now work correctly for all controls and windows in Win32
- applications using MDI.
-
- (Win) MenuBarVisible: now works under Windows.
-
- (Win) Min/Max sizing: now handles all cases. I.e., different border
- styles, and border widths.
-
- (Win) Modal dialogs: more than one can exist at once, even when
- hidden. This was also the cause of file dialogs failing to
- appear.
-
- (Win) MouseCursor: fixed problem with assigning a mouse cursor, it
- should now update immediately instead of waiting for the next
- Windows message to update.
-
- (Win) MouseCursor: setting custom mouse cursors now work more
- consistently instead of partially working for some controls,
- especially EditFields. Also, setting mouse cursors in a
- control's Open event now works.
-
- (Win) Multiple Monitors: Events -- Mouse events now work correctly in
- negative monitor space when using multiple monitors under Win98
- and Win2000.
-
- (Win) OpenPrinter: Now prints the same size as using
- OpenPrinterDialog.
-
- (Win) Parent.Child: The parent and child path problems have been
- fixed.
-
- (Win) ParseDate: implemented.
-
- (Win) ParseDate: now properly parses 1 or 2 digit years.
-
- (Win) Picture: 1-bit transparency fixed, 4-bit and 24-bit
- transparency added. 2-bit and 32-bit pictures continue to map
- to 4bit and 24-bit pictures respectively.
-
- (Win) Picture: Odd width pictures: odd width pictures imported to
- your project are now stored properly, so the missing pixels at
- the bottom of your image are corrected.
-
- (Win) Pop-up menu: fixed a problem with moving a Pop-up menu at
- runtime when the Pop-up menu's parent was something other than
- the application window. i.e. if the Pop-up menu was on top of a
- canvas.
-
- (Win) Pop-up Menu: now receives focus when tabbed in to.
-
- (Win) PopupMenu.InsertRow: now inserts at the correct position within
- the popupmenu.
-
- (Win) PrinterSetup.PageSetupDialog: PageSetup dialog displayed, and
- not an Open Printer dialog.
-
- (Win) ProgressBars: Indeterminant progressbars can now be hidden.
-
- (Win) QuickTime movie: now displays in its correct position on the
- window.
-
- (Win) QuickTime movie: now refreshes properly when the window is
- moved.
-
- (Win) Rectangle Control: Missing border pixels on upper-right corner
- is now fixed.
-
- (Win) RGBSurface: 24-bit RGB surfaces now work on Win32 (and Mac),
- 32-bit RGBSurfaces are mapped to 24-bit surfaces on windows.
-
- (Win) Screen.Depth: Screen(i).Depth now returns the correct value on
- your Win32 primary screen.
-
- (Win) Screen: for multiple display monitors should now update
- properly for MDI applications.
-
- (Win) ScrollBar: should now fire events when inside a groupbox.
-
- (Win) SelectColor: now works for Win32.
-
- (Win) Self.SetFocus: focus correctly set to the parent window (clears
- focus from other controls).
-
- (Win) Serial.DataAvailable: this event should fire more consistently.
-
- (Win) Sliders and Scroll bars: PageStep and LineStep can now be set
- from code for sliders and scroll bars.
-
- (Win) Socket.DataAvailable: this event should fire more consistently,
- instead of being skipped sometimes.
-
- (Win) Socket.LocalAddress: fixed problem where it would return the
- wrong IP address.
-
- (Win) Socket.LocalAddress: returns a valid local IP address, whether
- you're connected or not.
-
- (Win) Socket.Poll: works, even when called in a tight loop. (For
- plugin authors, this fix applies to REALSocketPoll as well.)
-
- (Win) Socket.PPPStatus: returns useful information: * 0 - No PPP *
- 1 - Connection idle * 4 - Connecting * 5 - Connected.
-
- (Win) Socket: fixed some problems with the Poll method and error
- events not firing consistently.
-
- (Win) Socket: listen or connect memory leak fixed.
-
- (Win) Sound.PlayLooping: sound can now be looped.
-
- (Win) Sound.Stop: stops the sound if any are currently playing.
-
- (Win) Sound: fixed problem when a Sound object is created as a
- property and using OpenAsSound in one method, while playing it
- in another method.
-
- (Win) Sound: playing sound from a resource no longer crashes if no
- sound card is present.
-
- (Win) Sprite surface: collisions are now detected (at the pixel
- level) under Win32.
-
- (Win) Sprite surface: runs on Win32 (there are Known Issues in
- 3.0a05).
-
- (Win) Sprite surface: scrolling now implemented for Win32.
-
- (Win) Stability: fixed problem introduced in 3.0b3 that resulted in
- general instability.
-
- (Win) Static Text: now have transparent backgrounds on Win32.
-
- (Win) String functions UpperCase and LowerCase: passing an empty
- string no longer crashes on Win32.
-
- (Win) String/Object parameters: using string or object parameters is
- more stable. Previously, they may have been freeing memory that
- shouldn't have been freed.
-
- (Win) System colors: should now return the correct REALbasic RGB
- color, instead of the BGR color.
-
- (Win) System.SerialPortCount: now reports the accurate number of
- usable serial ports (but does not go beyond 9).
-
- (Win) Text Controls: fixed a memory leak for controls that retrieve
- text, such as EditField.Text.
-
- (Win) The following items now work properly and no longer corrupt
- memory. This memory corruption was causing unexplained crashes.
- Windows applications that use these controls will now be much
- more stable than previously. This fixed 32 known bugs, of which
- 15 caused crashes. Rectangle: Fixed setting/getting FillColor.;
- Rectangle: Fixed setting/getting BorderWidth.; Rectangle: Fixed
- setting/getting TopLeftColor.; Rectangle: Fixed setting/getting
- BottomRightColor.; Line: Fixed setting/getting BorderWidth.;
- Line: Fixed setting/getting LineColor.; Oval: Fixed
- setting/getting FillColor.; Oval: Fixed setting/getting
- BorderWidth.; Oval: Fixed setting/getting BorderColor.;
- RoundRect: Fixed setting/getting FillColor.; RoundRect: Fixed
- setting/getting BorderWidth.; RoundRect: Fixed setting/getting
- BorderColor.; RoundRect: Fixed setting/getting OvalWidth.;
- RoundRect: Fixed setting/getting OvalHeight.; Scrollbar: Fixed
- getting LiveScroll.; Slider: Fixed getting LiveScroll.
-
- (Win) Timer: fixed a problem when setting the mode to 1 in the IDE,
- the timer never fired.
-
- (Win) Timer: no longer consumes 100% CPU. Precision is not as high as
- it was previously. The precision on Win95/98 is 1/18 of a
- second (or 55 milliseconds), and 10 milliseconds on NT.
-
- (Win) Timers: no longer require a Window to be open to work.
-
- (Win) Val: Val("") and Val("t") now returns 0."
-
- (Win) VolumeName: Now returns valid volume name drives, this was
- fixed when the FoldItemParent bug was fixed.
-
- (Win) Window.Close: fixed a problem with closing an application,
- where an unhandled exception would sometimes occur because some
- controls were being deleted twice.
-
- (Win) Window.DrawInto: works on Windows. Note: if any controls are
- off the visible screen page or hidden by another window,
- DrawInto will not be able to draw those controls.
-
- (Win) Window.KeyDown: fixed bug in translating key from Windows
- virtual key to a Mac equivalent key. Also, pressing Shift,
- Ctrl, or Alt, should not trigger the KeyDown event anymore.
-
- (Win) Window.KeyDown: key code is now more consistent with the Mac
- key code, especially for extended keys, like arrow keys.
-
- (Win) Window.visible: setting the visible property of a Window to
- true" will now display the Window."
-
- (Win) Window: fixed problem with unhandled exceptions error at start
- up, since some of the events were being fired too soon.
-
- (Win) Window: fixed problem with windows disappearing behind the main
- window.
-
- (Win) Window: fixed the ordering of events being fired, so the Open
- event should fire before the Activate event.
-
- (Win) Window: MinWidth/MinHeight, MaxWidth/MaxHeight should now work
- under windows.
-
- (Win) Window: MouseDown fires again. This broke in 3.0a11.
-
- (Win) Window: Refreshing windows no longer refreshes the desktop
- window.
-
- (Win) Window: RefreshRect now only refreshes the rectangle in
- question and not the window and the desktop.
-
-
- Various bug fixes caused these workarounds to fail:
- (All) PostgreSQL dates: the previous trick of using NativeValue to
- get a human-readable string from a date column no longer works;
- NativeValue now returns an internal binary representation. Use
- StringValue (which now works as it should) instead.
-
- (Win) Events: Mouse Down and Action Events -- placing a canvas
- underneath a control to catch its events will no longer work,
- place the canvas above the control, just as you would on the
- Mac.
-
- The following known issues still exist in this release
- (All) Sprite surface: Out of memory condition sometimes fails to exit
- gracefully (i.e., crashes). Assign more RAM to IDE and built
- applications.
-
- (Car) Suspend Run: command-shift-period sequence (to switch to the
- REALbasic debugger) still doesn't work under Carbon or Mac OS
- X.
-
- (IDE) Building: You can't build a Mac Classic and a Mac Carbon at the
- same time, since they're two different files but you can only
- set one file name. Just build one at a time for now, and append
- something meaningful to the Carbon version's name or use
- AppleScript to automate it.
-
- (IDE) Custom Classes: Custom Serial controls won't use a pop-up to
- select port, parity etc. You have to use the integer
- equivalent.
-
- (IDE) Custom Classes: Custom Timers and Serial controls will not
- retain default values.
-
- (IDE) Debugger: Viewers -- arrays with more than one dimension are
- still not viewable from IDE's debugger.
-
- (IDE) Project window: Folders aren't yet exportable via Menus.
-
- (IDE) Project Window: If a folder in the finder already exists with
- the same name as the one you are dragging nothing will happen.
- (I.e. the folder will not be replaced and no message will
- appear to warn you of this)
-
- (IDE) REAL Database: doesn't support field options ("Primary" and
- "Not Null" -- the latter acts as if it's supported, but the
- option isn't saved). This is not a new issue, but since the
- schema editor has changed it seemed worthy of mention.
-
- (IDE) Sprite surface: when loading a 2.1 project, Sprite surface will
- have height and width of 0, making it impossible to see. Find
- it with Select All (or use the tab key), then adjust height and
- width.
-
- (Mac) PrinterSetup: due to a long-standing limitation of Apple's
- Laserwriter 8 printer driver, the only resolutions available
- via this driver are 72 and 300 dpi, even if the printer really
- supports other resolution.
-
- (Mac) Text: Ampersand symbols in constants behave as they always
- have, i.e., Mac and Windows are different.
-
- (OSX) Progress bars: Don't try to overlap two progress bars, or put
- another control on top of a progress bar. It looks bad. This is
- not our fault.
-
- (OSX) When controls are too close together, and one loses the focus,
- the border of the neighboring control may not get refreshed
- correctly. Work-around: put a few extra pixels between
- controls.
-
- (Win) Drag and Drop: doesn't work with overlapped controls.
-
- (Win) Groupboxes and cloned (at runtime) controls will not display
- their tool tips.
-
- (Win) Sprite surface: colors are somewhat off in 8-bit mode due to
- palette differences. Windows and the Mac OS use different 8 bit
- color palettes.
-
- (Win) Sprite surface: slower than the Mac when changing the sprite
- image often in a single frame
-
-